package test.google.maps.services
{
	import com.anywebcam.mock.Mock;
	import com.google.maps.LatLng;
	import com.google.maps.LatLngBounds;
	import com.google.maps.interfaces.IClientGeocoder;
	import com.google.maps.services.ClientGeocoderOptions;
	
	import flash.events.Event;
	import flash.events.EventDispatcher;

	public class MockClientGeocoder
			extends EventDispatcher
			implements IClientGeocoder
	{
		public var mock:Mock;
		
		public function MockClientGeocoder()
		{
			mock = new Mock(this);
		}

		public function getViewport():LatLngBounds
		{
			return mock.getViewport();
		}
		
		public function resetCache():void
		{
			mock.resetCache();
		}
		
		public function geocode(arg0:String):void
		{
			mock.geocode(arg0);
		}
		
		public function reverseGeocode(arg0:LatLng):void
		{
			mock.reverseGeocode(arg0);
		}
		
		public function setOptions(arg0:ClientGeocoderOptions):void
		{
			mock.setOptions(arg0);
		}
		
		public function getOptions():ClientGeocoderOptions
		{
			return mock.getOptions();
		}
		
		public function setBaseCountryCode(arg0:String):void
		{
			mock.setBaseCountryCode(arg0);
		}
		
		public function getBaseCountryCode():String
		{
			return mock.getBaseCountryCode();
		}
		
		public function setViewport(arg0:LatLngBounds):void
		{
			mock.setViewport(arg0);
		}
		
		public function getBaseEventDispatcher():Object
		{
			return mock.getBaseEventDispatcher();
		}
		
		public function get interfaceChain():Array
		{
			return mock.interfaceChain;
		}
		
		public function get wrapper():Object
		{
			return mock.wrapper;
		}
		
		public function set wrapper(arg0:Object):void
		{
			mock.wrapper = arg0;
		}
		
		override public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, useWeakReference:Boolean=false):void
		{
			mock.addEventListener(type, listener, useCapture, priority, useWeakReference);
		}
		
		override public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void
		{
			mock.removeEventListener(type, listener, useCapture);
		}
		
		override public function dispatchEvent(event:Event):Boolean
		{
			return mock.dispatchEvent(event);
		}
		
		override public function hasEventListener(type:String):Boolean
		{
			return mock.hasEventListener(type);
		}
		
		override public function willTrigger(type:String):Boolean
		{
			return mock.willTrigger(type);
		}
		
	}
}